Nervos 野望:与众不同之路
第二期 Nervos 社区征文大赛一共 16 篇稿件入围,这是第 5 篇,作者 @Little Cong。如果你喜欢这篇文章,阅读后记得点赞、评论和转发分享哦 ❤️
Nervos 自主网上线以来,一直处于舆论的风口浪尖之上,褒贬不一。
Nervos 曾因创新而受到追捧,也因生态一直没有起来,价值过低而遭到质疑。Nervos 有着坚定不移的支持者,也有着不少可能因为投资没有达到自己预期而唱衰的黑粉。如果我们仔细去了解,会发现:这种两极分化非常严重的现象,恰恰来自于 Nervos 独特的设计。
与众不同之路必定充满着荆棘,但也意味着 Nervos 拥有着与众不同的未来!
独特之处一:编程模型
在计算机体系结构中,编程模型将会对整个系统的性能产生决定性的影响。目前,区块链行业中存在两种主要的编程模型:Bitcoin 的 UTXO 模型和 ETH 的账户模型。
账户模型很好理解,就如同我们每一个人都拥有的银行账号一样。因此,在认证交易时,只要检查帐户是否有足够的余额就可以了。这个方法简单,直观,较利于智能合约的开发,同时节约空间。但账户模型有一个极大的缺点:只能一对一按顺序进行转账,在面对高频、复杂的情况下就会很吃力了。
UTXO 这种模型非常类似于我们日常使用的现金(纸币与硬币),可以看做一种改良版的现金(央行发行的数字货币也是 UTXO 模型)。UTXO 模型的优点是可以平行地进行多笔交易,同时无需关心事务问题。此外,UTXO 也被认为比较安全且有效率,独立数据记录的特点可以透过 Simple Payment Verification(SPV)来快速验证、检验交易。当然,UTXO 的缺点也很明显,极简的模型使得智能合约变为了 “不可行”。
Nervos 采用的是基于 UTXO 并做了改良的全新编程模型 —— Cell 模型。将 Bitcoin 只能存放特定数据的空间变成可以存放任意数据的空间,于是就形成了一个更一般化的模型 Cell。Cell 模型带来的首要好处是:使得 UTXO 模型具备了可编程的能力。
CKB 成为了一个有状态的编程模型,在 CKB 的当前状态中存储的是任意的共同知识,而不再仅仅是某一种数字货币。这也是 CKB 共同知识库名字的来源。
独特之处二:经济模型和治理
在经济模型上,Nervos 大胆地采用了通胀的经济模型,和现如今大部分项目采用通缩模型正好相反。
在现如今的区块链大环境下,绝大多数的参与者是很难接受通胀模型的,虽然这一模型更加地接近现实中发展的经济模型。目前的区块链行业正处在蓝海期,绝大部分的项目是利用利润、收益来吸引参与者,达到圈地的目的。通缩模型的建立只能实现虚假的单一币价增长,现实生活中的货币紧缩会抑制投资和生产,导致失业率升高和经济衰退。通过通缩形成的增长,将会由后来者来买单。
为了保证协议的长期可持续性,维持网络的长期安全性,保证网络长期的去中心化,公共网络资源可以长期、有效、公平地分配,原生代币的价格可以通过真实的网络价值体现,这些都需要一个通胀的经济模型来实现。
Nervos 在「基础发行」的基础上,添加了「二级发行」,可以将其视为对所有代币持有者的「通胀税」。对于使用 CK Byte 存储状态的用户,这种定期的通胀税是他们向矿工支付状态租金的方式。当然,通胀的模型会侵蚀长期持有者的利益,所以在 Nervos 的经济模型里加入了 DAO 来缓解这一影响,虽然在现阶段的弥补会显得作用不大,但对于长期运行来说,这是对整个系统稳定性的一个有力补充。
Nervos 的经济模型在我个人看来,已经是比较接近现实可持续发展的一种模型,虽然目前环境下采用通胀模型明显是一个吃力不讨好的抉择。
Nervos CKB 的原生代币是 「Common Knowledge Byte」,简称「CK Byte」。CK Byte 代表 Cell 空间,它们让拥有者能够占用区块链的全局状态。例如,如果 Alice 拥有 1000 个 CK Bytes,她可以创建一个空间为 1000 Bytes 的 Cell,或者空间合计最多为 1000 Bytes 的多个 Cell。她可以使用 1000 个 Bytes 来存储资产、应用程序状态或是其他类型的数据资料。
CKB 的精妙设计,直接将网络的底层资源真实地和代币的价值挂钩,而不是只充当了交易手续费或投资筹码。网络价值不需要通过手续费来体现的直接好处,是可以实现极低的手续费。极低的手续费可以很大程度上促进网络的繁荣,同时又不会损害矿工的利益,因为他们的利益已经通过二级发行得到了保障。
在 Nervos CKB 中,存储资产的用户希望其资产安全;开发者希望(其产品)得到更多的使用,并与之相应的,还有保存更多的资产价值;矿工们希望获得更高的收入,而代币持有者希望他们的代币价格会升值。更高的代币价格支撑着每个人的利益:网络变得更加安全,矿工得到更高额的收入,代币持有者得到更丰厚的回报。
梳理所有参与者的激励,使得全网可以最好地利用网络效应来增强 CKB 的内在价值。此外,这也会培养出一个更具凝聚力的社区,使得整个 Nervos 系统面临更少的治理挑战。当然,治理的最大挑战将来自于短期的投机者,由于二级发行带来的通胀使得 CKB 升值受到了一定的抑制。
独特之处三:基建狂魔
Nervos 是当之无愧的区块链 “基建狂魔”。网上一直有这样的言论:
CKB 不是很牛吗,为什么一直没有应用出来?
的确,面向一般用户的应用不多,但开发工具却是所有的公链中除以太坊之外最全面的。下图是 Nervos 的代码库:
Nervos 主代码库:
名称 | 描述 |
---|---|
ckb | Nervos CKB 是一个无需许可的公链,也是 Nervos 网络的 layer1 |
rfcs | 包含与 Nervos 网络相关的建议、标准和文档 |
ckb-vm | CKB 虚拟机,基于开源的 RISC-V 指令集 |
ckb-indexer | 实现 CKB live cell 集合的归集并提供 RPC 接口的单独服务 |
ckb-cli | CKB 命令行接口 |
tentacle | 支持自定义协议的多路复用 p2p 网络框架 |
eaglesong | CKB 的挖矿算法 Eaglesong |
neuron | CKB 官方桌面版全节点钱包 |
ckb-explorer | CKB 浏览器 |
docs | Nervos CKB 文档 |
molecule | 另一个序列化系统:最低限度和规范化 |
ckb-system-scripts | CKB 官方系统脚本。这些合约将被包含在创世块的系统 cell 中 |
ckb-testnet-faucet | CKB 测试网水龙头 |
ckb-sdk-js | CKB 的 JavaScript SDK |
ckb-sdk-ruby | CKB 的 Ruby SDK |
ckb-sdk-java | CKB 的 Java SDK |
ckb-sdk-go | CKB 的 Golang SDK |
ckb-swift-kit | CKB 的 Swift 工具包 |
ckb-miscellaneous-scripts | 有趣有用的 CKB 脚本 |
ckb-anyone-can-pay | 任何人都可以支付的 cell |
muta | Muta 一个高性能的区块链框架 |
muta-docs | Muta 文档 |
drone | Muta 框架标准工具 |
overlord | Overlord 共识协议(火币公链采用的共识协议) |
Nervos 生态代码库:
名称 | 描述 |
---|---|
pw-core | CKB dApps 开发前端框架 |
animagus | Animagus 为 UTXO 模型中遇到的大多数编程问题提供解决方案 |
godwoken | 基于 Nervos CKB 的可编程的账户层 |
keyper | 一个管理 lock script 的协议 |
keyper-scatter | 基于 Keyper 协议的最小化桌面钱包 |
Portal Wallet | 基于 PW core 开发的,可以使用以太坊地址转账 CKB 的钱包 |
ckb-boxer | 一个最小的 CKB,只包含链验证部分 |
ckb-std | 包含了几个帮助你使用 Rust 编写 CKB 合约的模块 |
polyjuice | 在 CKB 上实现以太坊的解决方案 |
lumos | 一个基于 JavaScript/TypeScript 的完整的 DApp 框架 |
ckb-js-toolkit | JavaScript 工具包,包含一系列独立的工具,帮助开发 CKB DApps |
ckb-duktape | 通过 duktape 在 CKB 上搭建使用 JavaScript 编写智能合约的环境 |
ckb-duktape-template | 一个在 CKB 上编写 JavaScript 的模板 |
diviner | 一个 FoundationDB 类型的 Rust 模拟测试框架 |
上述列表中,除了基本的主程序和接口以外,对于开发者来说最有吸引力的就是几个 SDK(软件开发工具包)。辅助开发某一类软件的相关文档、范例和工具的集合,都可以叫做 SDK。SDK 被开发出来,是为了减少程序员工作量,提高编程效率。传统的大型互联网公司都会为其开发者提供免费的 SDK 以鼓励开发者使用,从而吸引更多的人使用其平台进行开发,扩展其生态,从而形成了常见的——开放平台。
可以说,Nervos 是区块链行业里第一个将传统互联网中的平台思维,真实地应用到区块链中来的项目。Nervos 未来的目标一定是工程化和平台化。当 Nervos 产生平台效应时,可以预见将会有越来越多的开发者被绑定在这个平台上,届时,可供用户使用的应用将会以最高的效率呈现到大家的面前。类似于互联网行业中的百度平台、腾讯平台等,Nervos 也会成为区块链行业中的开放平台。
目前看来,Nervos 的野望可能不仅仅只是希望成为一个公链项目,也许会带来区块链行业的一次新变革和腾飞。
Nervos 自项目成立开始,目标一直很明确 —— 建立最安全有效的底层网络,因为 “基建” 是否有效将直接影响到分层构想能否真正的实现。
V 神曾在 2019 年末的时候,在文章《基础层和功能性的逃逸速度》中指出:
Layer-1 不能过于强大,否则会增强复杂性和脆弱性,但是 Layer-1 又必须强大到足以支持人们在其基础上搭建 Layer-2 协议。
文章提出,分层系统必须具备两个条件:
1、必须要能够在链上执行用户自定义的脚本,因为搭建在 Layer-1 之上的 Layer-2 协议需要具备某种验证逻辑,而且这种验证逻辑必须能由区块链执行;
2、编程模型应具备 “富状态性”,需要将货币从一种状态转换到另一种状态。
目前,UTXO 和 ETH 的账户模型都很难实现上述两项功能。Nervos 从立项之初就以建立分层网络为目标,必须通过重建基础设施,使得 Nervos 的网络可以完美地完成分层带来的各种挑战。
目前的区块链项目,可以更改共识、经济模型、区块容量等,但很少会去重新建立一种新的模型,数据模型的更改意味着整个项目的重建,甚至意味着将来的开发者也需要重新理解新的模型,以适应新的编程需要。Nervos 敢于从最基础的数据模型进行变革,这已经是一项值得我们去关注的事情,更不要说:在分层的方向上,Nervos 已经领先于 ETH 至少两三年的时间,而且底层网络的优势更是 ETH 无法超越的了。
预想
抛开现在最热的 DEX 和 NFT 不谈,因为这两种只能算是两类热度比较高的应用,并不能彻底地改变现在的区块链行业。那么,在笔者眼中,Nervos 将会给区块链行业带来哪些变革?
预想1:跨链应用程序
什么意思?打个比方:我们如果要做一家网店,可以在淘宝上开店的同时,也可以开在京东、苏宁等平台上,只需要按照平台的要求编写和提供物料。然后在淘宝的店铺,顾客可以直接通过淘宝账户操作所有的业务,在京东的也可以通过京东的账号操作。虽然账号是属于淘宝和京东上的账号,但实际发生的业务确是在我们的店铺里,顾客不需要额外再创建平台的账号信息。
这个在如今的互联网社会里很常见,但是在区块链行业里,这是一个难题。Nervos 将会打破这个难题,这一难题的解决将会对开发者有着无与伦比的吸引力:意味着他们的程序(项目)将可以同时在多个生态里获得流量,无缝地连接用户。例如,我可以在 ETH 的生态里,让用户使用 ETH 来操作,也可以在 EOS 生态里,使用 EOS 来操作……用户不再需要用小本本记下无数的助记词或是私钥。Nervos 网络上将可能出现真正的区块链出圈项目。
预想2:专用服务提供商
大家都知道在现在的移动互联网行业,我们使用的很多软件实际上是由很多很多的功能组合在一起后呈现出来的,而有一些服务是拥有着极高的门槛,不可能通过一般的开发者实现的。
例如,在国内,高精地图也主要由百度、高德、四维图新三大公司牵头发展,在国内基本上所有使用地图的程序都少不了使用这三家提供的服务。高精地图在无人驾驶领域更是一座无法越过的高山。可是,高精地图在国内却很少有创业公司从事,原因在于地理数据涉及国家安全,同时数据的处理还需要大量的资金。
Nervos 团队的专业性和目前呈现的做事风格,很适合做专业服务提供商。例如,实现区块链编程可视化(已经部分实现)、数据可视化等服务。
结语
与众不同之路,意味着要完全地依靠自己去摸索、实践。这并不是一条很好走的路,但我相信在 Nervos 不断探索的过程中,一定会给带来无限的惊喜。Nervos 不仅仅给区块链行业带来了一个全新的编程模型,也给现有的区块链发展带来了新的方向。
用坚忍不拔之志,走与众不同之路,披荆斩棘,乘风破浪!
风险提示:本文内容仅为作者个人观点,不代表 NervosCommunity 的看法或立场,亦不构成任何投资意见或建议。
如果你喜欢这篇文章,记得点赞、评论和转发分享哦 ❤️
更多精彩内容
👇欢迎关注👇